During the lifecycle of an application, including the authoring, installation, and runtime of the application, many different objects are typically created or otherwise associated with the application. For example, programming code, executable code, software resources, and hardware resources may be associated with the application and each of the items may be assigned various file names and file types. Database applications, in addition to being associated with programming code, executable code, and resources, may become associated with additional objects, such as logins, tables, stored procedures, and database policies.
With many objects to track and maintain, it is often difficult and time consuming for a database administrator to effectively manage all of the items associated with a database application through its lifecycle. For example, when a database administrator desires to make changes to the hardware or other items used by the database application, or to add or change database server instances where the database application is installed, the process of making the desired changes can be time consuming and costly. Objects may be coded or otherwise directly linked to hardware resources where they reside or on which they operate and moving such objects to other locations may involve significant reprogramming. The effort involved in moving the objects or creating an additional installation is increased in cases where application objects are stored in multiple locations or when a single database stores objects used by multiple applications.